package com.java.mytest_ysy.b.demo3;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Test {
    public static void main(String[] args) {
//        2.1.创建Scanner对象
        Scanner sc=new Scanner(System.in);
//        2.2.创建Map集合对象
        Map<Product,Integer> shopCar=new HashMap<>();
//        2.3.循环将商品加入购物车
        while (true) {
//        2.4.根据输入的店铺名称和商品名称,封装成Product对象
            System.out.print("请输入店铺名：");
            String storeName = sc.next();
            if (storeName.equals("end")) {
                break;
            } else {
                System.out.print("请输入商品名：");
                String productName = sc.next();
                Product product = new Product(storeName, productName);
//        2.5.如果集合中不包含我们添加的同一个店铺同一个商品的话,直接往集合中添加该商品
//        2.6.否则将该商品对应的值(数量)从集合中获取出来,让其加1
//        2.7.将加1之后的商品重新添加到集合中
                if (shopCar.containsKey(product)) {
                    shopCar.put(product, shopCar.get(product) + 1);
                } else {
                    shopCar.put(product, 1);
                }
            }
        }
//        2.8.遍历集合
        look(shopCar);
    }
    //键值对遍历方式
    private static void look(Map<Product, Integer> shopCar) {
        Set<Map.Entry<Product, Integer>> entries = shopCar.entrySet();
        for (Map.Entry<Product, Integer> entry : entries) {
            Product key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+":"+value);
        }
    }
}
